﻿using System;
using System.Text;

namespace Gadgeteer.Modules.Community.XBee
{
    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XbeeClient.DiscoverNodesCompleted" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.DiscoverNodesCompletedEventArgs" /> that contains event data.</param>
    public delegate void DiscoverNodesCompletedEventHandler(object sender, DiscoverNodesCompletedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.UploadStringCompleted" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.UploadStringCompletedEventArgs" /> that contains event data.</param>
    public delegate void UploadStringCompletedEventHandler(object sender, UploadStringCompletedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.DataReceived" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.DataReceivedEventArgs" /> that contains event data.</param>
    public delegate void DataReceivedEventHandler(object sender, DataReceivedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.PictureReceived" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.PictureReceivedEventArgs" /> that contains event data.</param>
    public delegate void PictureReceivedEventHandler(object sender, PictureReceivedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.StringReceived" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.StringReceivedEventArgs" /> that contains event data.</param>
    public delegate void StringReceivedEventHandler(object sender, StringReceivedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.TransmitStatusReceived" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.TransmitStatusReceivedEventArgs" /> that contains event data.</param>
    public delegate void TransmitStatusReceivedEventHandler(object sender, TransmitStatusReceivedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.ATResponseReceived" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.ATResponseReceivedEventArgs" /> that contains event data.</param>
    public delegate void ATResponseReceivedEventHandler(object sender, ATResponseReceivedEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.TransmitReceive" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.TransmitReceiveEventArgs" /> that contains event data.</param>
    public delegate void TransmitReceiveEventHandler(object sender, TransmitReceiveEventArgs e);

    /// <summary>Represents the method that will handle the <see cref="E:Gadgeteer.Modules.Community.XBeeClient.TestCompleted" /> event of a <see cref="T:Gadgeteer.Modules.Community.XBeeClient" />.</summary>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="T:Gadgeteer.Modules.Community.XBee.TestCompletedEventArgs" /> that contains event data.</param>
    public delegate void TestCompletedEventHandler(object sender, TestCompletedEventArgs e);
}
